#ifndef __USART_H_
#define __USART_H_

#include "stm32f10x.h"

#define USART1_USE_IT 1  // 1 使用中断，0 不使用中断

#if USART1_USE_IT

#define USART1_RECV_BUF_SIZE 32
extern volatile char usart1_recv_buf[USART1_RECV_BUF_SIZE];
extern volatile int usart1_recv_index;  // 中断接收数据下标
extern volatile int usart1_get_index;   // 应用读取数据下标
extern volatile int usart1_idle_flag;   // 空闲标志

#endif

//usart1
void usart1_init(uint32_t baudrate);
int usart1_putchar(int ch);
int usart1_getchar(void);

//usart2
void usart2_Init(uint32_t baudrate);

void USART_Send_String(USART_TypeDef* USARTx,char *ch); 
void USART_printf ( USART_TypeDef * USARTx, char * Data, ... );

//串口接收数据
uint16_t USART2_Recv(void);

#endif  // __USART_H_
